﻿#define _CRT_SECURE_NO_WARNINGS
//作者：宋安康
#include<stdio.h>
//int main() 
//{
//	printf("hello world");
//	return 0;
//}

//int main()
//{
//	char a = -1;
//	signed char b = -1;
//	unsigned char c = -1;
//	printf("a=%d,b=%d,c=%d", a, b, c);
//	return 0;
//}

//int main()
//{
//	char a = -128;
//	//打印时发生整型提升
//	printf("%u\n", a);   //%u是十进制的形式打印无符号整数
//	return 0;
//}

//signed char有符号的   ---取值范围-128~127
//unsigned char 无符号的   ---取值范围0~255

//int main()
//{
//	char a = 128;  //存不下     最大值为127    存储时看作-128
//	printf("%u\n", a);
//	return 0;
//}

//int main() 
//{
//	char a[1000];
//	int i;
//	for ( i = 0; i < 1000; i++)
//	{
//		a[i] = -1 - i;
//	}
//	printf("%d\n",strlen(a));
//}

//unsigned char i = 0;
//int main()  //死循环 --unsigned char 的最大值是255
//{
//	for (i = 0; i <= 255; i++)
//	{
//		printf("hello world\n");
//	}
//	return 0;
//}

//#include<windows.h>
//int main()
//{
//	unsigned int i;
//	for(i = 9; i >= 0; i--)   //死循环
//	{
//		printf("%u\n", i);
//		Sleep(1000);  //睡眠一秒
//	}
//	return 0;
//}

//int main()   //x86 小端
//{
//	int a[4] = { 1, 2, 3, 4 };
//	int* ptr1 = (int*)(&a + 1);   //加一跳过整个数组，指向数组的尾部
//	int* ptr2 = (int*)((int)a + 1);  //跳一个字节，指向01的下一个字节
//	printf("%x,%x", ptr1[-1], *ptr2);
//	return 0;
//}

//浮点数在内存中的存储
//int main()
//{
//	int n = 9;
//	float* pFloat = (float*)&n;
//	printf("n的值为：%d\n", n);   //9
//	printf("*pFloat的值为：%f\n", *pFloat);  //0.000000
//	*pFloat = 9.0;
//	printf("num的值为：%d\n", n);  //1091567616
//	printf("*pFloat的值为：%f\n", *pFloat);  //9.000000
//	return 0;
//}

int main() 
{
	float f = 5.5f;   //E = 2 加上一个中间值127
	//0100 0000 1011 00000000000000000000
	//0x40 B0 00 00  小端存储
	return 0;
}